package com.graduation.springbootinit.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 书籍实体
 */
@Data
@TableName("books")
public class Book {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 书名
     */
    @NotBlank(message = "书名不能为空")
    private String title;

    /**
     * 作者
     */
    @NotBlank(message = "作者不能为空")
    private String author;

    /**
     * ISBN号
     */
    @NotBlank(message = "ISBN不能为空")
    private String isbn;

    /**
     * 出版社
     */
    @NotBlank(message = "出版社不能为空")
    private String publisher;

    /**
     * 出版日期
     */
    @NotNull(message = "出版日期不能为空")
    private Date publishDate;

    /**
     * 书籍简介
     */
    @NotBlank(message = "书籍简介不能为空")
    private String description;

    /**
     * 封面图片URL
     */
    @NotBlank(message = "封面图片不能为空")
    private String coverUrl;

    /**
     * 页数
     */
    @NotNull(message = "页数不能为空")
    @Positive(message = "页数必须大于0")
    private Integer pageCount;

    /**
     * 语言
     */
    @NotBlank(message = "语言不能为空")
    private String language;


}